package cn.justweb;

import java.io.*;

public class AutoMD {
    public static String str = "";

    public static void main(String[] args) throws Exception {
        String path = "C:\\Users\\yushanbo\\Desktop\\简维JAVAEE课件\\2.阶段二-JavaWeb\\1.Spring\\17-Spring\\day03\\代码\\第三天";
        showFileList(new File(path));

        FileOutputStream os = new FileOutputStream(path+"\\aa.md");

        os.write(str.getBytes());
        os.close();
    }


    public static void showFileList(File file) throws Exception{
        if(!file.exists()){
            System.out.println("这是一个错误的路径");
        }
        if(file.isDirectory()){ //如果是目录的话，递归调用这个查询方法。
            str = str +"## "+ file.getName()+"\r\n";
            File []files=file.listFiles();
            for (File file2 : files) {
                if(file2.getName().equals(".idea")||file2.getName().equals("target")){
                    continue;
                }
                showFileList(file2);
            }
        }else{
            if(file.isFile()){ //如果是文件的话
                if(file.getName().endsWith("html")){
                    String context= readToBuffer(file).toString();
                    str += "### "+file.getName()+"\r\n"+"~~~html\r\n"+context+"\r\n~~~\r\n";
                }

                if(file.getName().endsWith("java")){
                    String context= readToBuffer(file).toString();
                    str += "### "+file.getName()+"\r\n"+"~~~java\r\n"+context+"\r\n~~~\r\n";
                }
                if(file.getName().endsWith("xml")){
                    String context= readToBuffer(file).toString();
                    str += "### "+file.getName()+"\r\n"+"~~~xml\r\n"+context+"\r\n~~~\r\n";
                }

                System.out.println("file.getName() = " + file.getName());

            }
        }
    }



    /*如果代码中中文乱码，将gbk去掉*/
    public static StringBuilder readToBuffer(File file) throws Exception {
        StringBuilder builder = new StringBuilder();
        InputStream is = new FileInputStream(file);
        String line; // 用来保存每行读取的内容
        //BufferedReader reader = new BufferedReader(new InputStreamReader(is,"gbk"));
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        line = reader.readLine(); // 读取第一行
        while (line != null) { // 如果 line 为空说明读完了
            builder.append(line); // 将读到的内容添加到 buffer 中
            builder.append("\n"); // 添加换行符
            line = reader.readLine(); // 读取下一行
        }
        reader.close();
        is.close();

        return builder;
    }
}
